package com.crm.common.crm.entity.PO;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("bill_crm_putin_statistics")
@ApiModel(value="CrmPutinStatistics对象", description="投放统计表")
public class CrmPutinStatistics implements Serializable {

    private static final long serialVersionUID=1L;


    @TableId(value = "putin_statistics_id", type = IdType.AUTO)
    private Integer putinStatisticsId;

    @ApiModelProperty(value = "投放平台")
    private String putinPlatform;

    @ApiModelProperty(value = "大类")
    private int categories;

    @ApiModelProperty(value = "电商/手绘")
    private String category;

    @ApiModelProperty(value = "渠道充值金额")
    private BigDecimal putinMoney;

    @ApiModelProperty(value = "渠道消耗金额")
    private BigDecimal practicalPutinMoney;

    @ApiModelProperty(value = "渠道消耗金额(本年)")
    private BigDecimal practicalPutinMoneyYear;

    @ApiModelProperty(value = "课程期数")
    private String coursePeriods;

    @ApiModelProperty(value = "投放开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date putinDateStart;

    @ApiModelProperty(value = "投放结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date putinDateEnd;

    @ApiModelProperty(value = "线索录入有效表单")
    private Integer leadsEnteringForm;

    @ApiModelProperty(value = "加客服数量")
    private Integer addCustomerServiceNum;

    @ApiModelProperty(value = "加客服率")
    private String addCustomerServiceRate;

    @ApiModelProperty(value = "小额报课数量")
    private Integer smallAmountNum;

    @ApiModelProperty(value = "小额报课率")
    private String smallAmountRate;

    @ApiModelProperty(value = "大额成交数")
    private Integer largeAmountTurnover;

    @ApiModelProperty(value = "大额成交率")
    private String largeAmountTurnoverRate;

    @ApiModelProperty(value = "大额成交金额")
    private BigDecimal largeAmountTurnoverMoney;

    @ApiModelProperty(value = "当期ORI")
    private String currentPeriodRoi;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "渠道赔付金额")
    private BigDecimal putinCompensateMoney;

    @ApiModelProperty(value = "渠道返点金额")
    private BigDecimal putinRebatesMoney;

    @ApiModelProperty(value = "表单录入时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date putinFormDate;

    @ApiModelProperty(value = "实际消耗金额")
    private BigDecimal actualConsumptionMoney;

    @ApiModelProperty(value = "合同成交数量")
    private Integer contractDealCount;

    @ApiModelProperty(value = "转入金额")
    private BigDecimal rollinMoney;

    @ApiModelProperty(value = "转出金额")
    private BigDecimal rolloutMoney;

    @ApiModelProperty(value = "合同回款金额")
    private BigDecimal receivedMoney;

    @ApiModelProperty(value = "客户ID")
    private Integer customerId;

    @ApiModelProperty(value = "月实际合同/渠道消耗金额")
    private String bdsjRoi;

    @ApiModelProperty(value = "月实际合同/实际消耗金额")
    private String bdzmRoi;

    @ApiModelProperty(value = "月合同/渠道消耗金额")
    private String cjkhRoi;

    @ApiModelProperty(value = "月合同/实际消耗金额")
    private String cjhtRoi;

    @ApiModelProperty(value = "已成交合同的全部金额")
    private BigDecimal contractAllMoney;

    @ApiModelProperty(value = "已成交合同的全部金额(没有时间限制)")
    private BigDecimal contractAllMoneyNotime;

    @ApiModelProperty(value = "回款成交金额")
    private BigDecimal receivablesDealMoney;

    @ApiModelProperty(value = "已审核通过的回款金额(没有时间限制)")
    private BigDecimal receivablesDealMoneyNoTime;

    @ApiModelProperty(value = "月实际回款/渠道消耗ROI")
    private String sjdqdRoi;

    @ApiModelProperty(value = "月实际回款/实际消耗ROI")
    private String sjdsjRoi;

    @ApiModelProperty(value = "月回款/渠道消耗ROI")
    private String allqdRoi;

    @ApiModelProperty(value = "月回款/实际消耗ROI")
    private String allsjRoi;

    //计算不限制投放时间ROI
    @ApiModelProperty(value = "年实际合同/渠道消耗金额")
    private String bdsjRoi2;

    @ApiModelProperty(value = "年实际合同/实际消耗金额")
    private String bdzmRoi2;

    @ApiModelProperty(value = "年合同/渠道消耗金额")
    private String cjkhRoi2;

    @ApiModelProperty(value = "年合同/实际消耗金额")
    private String cjhtRoi2;

    @ApiModelProperty(value = "年实际回款/渠道消耗")
    private String sjdqdRoi2;

    @ApiModelProperty(value = "年实际回款/实际消耗")
    private String sjdsjRoi2;

    @ApiModelProperty(value = "年回款/渠道消耗ROI")
    private String allqdRoi2;

    @ApiModelProperty(value = "年回款/实际消耗ROI2")
    private String allsjRoi2;

    @ApiModelProperty(value = "年回款(不限制投放时间)")
    private BigDecimal receivablesDealMoneyYear;

    @ApiModelProperty(value = "年合同(不限制投放时间)")
    private BigDecimal contractAllMoneyYear;


}
